package com.gopay.common.domain.cps;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * @CpsBtCheckInLog.java
 * @author MA HUAN
 * @2013-8-20 下午12:17:40 www.gopay.com.cn Inc.All rights reserved.
 */
@Entity
@Table(name = "CPS_BT_CHECK_IN_LOG")
public class CpsBtCheckInLog implements Serializable {

    /**
     * 
     */
    private static final long serialVersionUID = 2815727949871283805L;

    /**
     * 日志流水号
     */
    private int logSq;

    /**
     * 网关交易流水号
     */
    private int pgTransDtlSq;

    /**
     * 登记流水号
     */
    private int checkInSq;

    /**
     * 登记状态 1 - 已签到 2 - 已签退
     */
    private String checkInType;

    /**
     * 创建时间
     */
    private Date createdTs;

    /**
     * 记录最后修改时间
     */
    private Date lastUpdTs;

    /**
     * 最后修改交易码
     */
    private String lastUpdTranCode;

    /**
     * 发起时间
     */
    private Date launchTime;

    @Id
    @SequenceGenerator(name = "CpsBtContractInfoSequence", sequenceName = "CPS_BT_CONTRACT_INFO_SEQ")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "CpsBtContractInfoSequence")
    @Column(name = "LOG_SQ", unique = true, nullable = false)
    public int getLogSq() {
        return logSq;
    }

    public void setLogSq(int logSq) {
        this.logSq = logSq;
    }

    @Column(name = "TRANS_DTL_SQ", nullable = false)
    public int getPgTransDtlSq() {
        return pgTransDtlSq;
    }

    public void setPgTransDtlSq(int pgTransDtlSq) {
        this.pgTransDtlSq = pgTransDtlSq;
    }

    @Column(name = "CHECK_IN_SQ", nullable = false)
    public int getCheckInSq() {
        return checkInSq;
    }

    public void setCheckInSq(int checkInSq) {
        this.checkInSq = checkInSq;
    }

    @Column(name = "CHECK_IN_TYPE", nullable = false, length = 2)
    public String getCheckInType() {
        return checkInType;
    }

    public void setCheckInType(String checkInType) {
        this.checkInType = checkInType;
    }

    @Column(name = "CREATED_TS")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getCreatedTs() {
        return createdTs;
    }

    public void setCreatedTs(Date createdTs) {
        this.createdTs = createdTs;
    }

    @Column(name = "LAST_UPD_TS")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getLastUpdTs() {
        return lastUpdTs;
    }

    public void setLastUpdTs(Date lastUpdTs) {
        this.lastUpdTs = lastUpdTs;
    }

    @Column(name = "LAST_UPD_TRANCODE")
    public String getLastUpdTranCode() {
        return lastUpdTranCode;
    }

    public void setLastUpdTranCode(String lastUpdTranCode) {
        this.lastUpdTranCode = lastUpdTranCode;
    }

    @Column(name = "LAUNCH_TIME", nullable = false)
    public Date getLaunchTime() {
        return launchTime;
    }

    public void setLaunchTime(Date launchTime) {
        this.launchTime = launchTime;
    }

}
